/*
 * Copyright (c) [2005] [Jeffrey Moore]
 *
 * Redistributions in source code form must reproduce the above copyright and 
 * this condition.
 *
 * The contents of this file are subject to the Sun Project JXTA License 
 * Version 1.1 (the "License"); you may not use this file except in compliance 
 * with the License. A copy of the License is available at 
 * http://www.jxta.org/jxta_license.html.
 *
 */


/*
 * DeviceControl.java
 *
 * Created on June 5, 2005, 6:45 AM
 */

package net.jxta.myjxta.plugins.vijxta;

import java.awt.Component;
import java.awt.Dimension;
import java.util.Hashtable;

/**
 *
 * @author Jeff Moore
 */
public interface DeviceMonitorControl {
    public void resetMonitor ();
    
    public int getTransmitState ();
    
    public void setTransmitState (int transmitState);
    
    public void pauseMonitor ();
    
    public void resumeMonitor ();
    
    public void pauseTransmit ();
    
    public void resumeTransmit ();
    
    public long getImageCaptureDelay ();
    
    public void setRefreshRate (int refreshRate);
    
    public int getRefreshRate ();
    
    public long getAverageImageEncodeTime ();
    
    public void obtainHardware ();
    
    public void startMonitorCapture ();
    
     public void startMonitor ();
     
     public void stopMonitor ();
     
     public void startTransmit ();
     
     public int getOutgoingBufferSize ();
     
     public int getMessagesSent ();
     
     public int getBytesSent ();
     
     public void releaseHardware ();
     
     public void stopMonitorCapture ();
     
     public void stopTransmit ();
     
     public int getBufferSize ();
     
     public int getImagesPerMessage ();
     
     public void setImagesPerMessage (int imagesPerMessage);
     
     public long getImageEncodeTime ();
     
     public void setImageCompression (int imageCompression);
     
     public int getImageCompression ();
     
     public Component getMonitorComponent ();
     
     public boolean isTransmit ();
     
     public void setTransmit (boolean trans);
     
     public Dimension getFormatSize();
     
     public String getMimeType();
     
     public Hashtable getRefreshRateLabelTable();
     
     public String getRefreshRateUnitLabel();
     
     public void addErrorListener(DeviceMonitorControl.DeviceErrorListener listener);
     
     public interface DeviceErrorListener {
         
         public void deviceErrorEncountered(String errorString);
     }
}
